package com.asiainfo.kbisheet.util;

import java.util.List;

import com.asiainfo.kbisheet.vo.AllExportVO;
import com.asiainfo.kbisheet.vo.DimVO;
import com.asiainfo.kbisheet.vo.FromToDateVO;
import com.asiainfo.kbisheet.vo.KbsSheetVO;
import com.asiainfo.kbisheet.vo.LabelValueVO;
import com.asiainfo.kbisheet.vo.QueryVO;
import com.asiainfo.kbisheet.vo.UserColumnHiddenVO;

/**
 * 业务工具(Business Util)的接口定义，用于处理不同省的应用差异
 * @author kyunra
 *
 */
public interface BU {
	/**
	 * 全部导出
	 * @param allExportVO
	 * @param queryVO
	 * @return
	 */
	public boolean allExport(AllExportVO allExportVO,QueryVO queryVO);
	
	/**解码字符串*/
	public String decrypt(String key,String src);
	
	/**
	 * 得到所有报表VO
	 * @return
	 */
	public List<KbsSheetVO> getAllKbsSheetVOList();
	
	/**
	 * 根据报表ID加载KbsSheetVO对象
	 * @param sheetId
	 * @return
	 */
	public KbsSheetVO loadKbsSheetVO4Id(String sheetId);
	
	/**
	 * 根据XML文件名加载文件内容
	 * @param xmlName
	 * @return
	 */
	public String loadXmlContent(String xmlName);
	
	public List<String> loadUserColumnSet(String userId,String sheetId);
	
	public FromToDateVO getDimDate(DimVO dimVO);
	
	public List<LabelValueVO> getDimList(DimVO dimVO);
	
	public String getDataXML(QueryVO queryVO);
	
	/**
	 * 得到数据库表列的XML信息
	 */
	public String getColumnsXML(String dataBaseName,String tableName);
	
	public boolean saveUserColumnSets(UserColumnHiddenVO userColumnHiddenVO);
}
